package com.efast.cafe.commponent.statemach.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.efast.cafe.commponent.statemach.bean.StateMachTaskRetBean;
import com.efast.cafe.commponent.statemach.bean.TaskBean;
import com.efast.cafe.commponent.statemach.bean.TaskParamBean;
import com.efast.cafe.portal.remote.statemach.PortalStateMachTaskService;

public interface IPortalStateMachTaskService extends PortalStateMachTaskService{

	void begin(TaskParamBean taskParam,Map<String, JSONObject> extFormDataJson);
	
	void operation(TaskParamBean taskParam,Map<String, JSONObject> extFormDataJson);
	
	/**
	 * 根据taskId获取task内容
	 * 
	 * @param taskId
	 * @return
	 */
	StateMachTaskRetBean getTaskBeanById(String companyCode, Long taskId, boolean extData);
	
	/**
	 * 根据confId获取task结构
	 * @param companyCode
	 * @param confId
	 * @return
	 */
	StateMachTaskRetBean getTaskBeanByConfId(String companyCode, Long confId);
	
	void stateBegin(Long confId, String t,Map<String, JSONObject> extFormDataJson);
	
	void stateOperation(Long confId, Long Id, String t,Map<String, JSONObject> extFormDataJson);
	
	void lockResource(String lockType, Long taskId);
	
	void test(String a);
	
	List<TaskBean> getTaskbyRelId(Long relId, String relType);
}
